
//1385.两个数组间的距离值
class Solution {
public:
    int findTheDistanceValue(vector<int>& arr1, vector<int>& arr2, int d) {
        //  arr[j]-d<=arr[i]<=arr[j]+d;

        //arr[j]-d>arr[i]
        //arr[i]>arr[j]+d
        sort(arr1.begin(),arr1.end());
        sort(arr2.begin(),arr2.end());

        //使用双指针进行实现，枚举arr1中的左右数据，在arr2中找看是否有不满足条件的元素
        int n=arr1.size(),m=arr2.size();
        int i=0,j=0,ret=0;
        while(i<n&&j<m)
        {
            if(arr2[j]-d>arr1[i]) ret++,i++;
            else if(arr2[j]+d<arr1[i]) j++;
            else i++;
        }
        ret+=(n-i);
        return ret;
    }
};